'''
@Descripttion: 
@version: 
@Author: dkolli
@Date: 2019-10-28 20:51:22
@LastEditors: sueRimn
@LastEditTime: 2019-10-28 21:36:06
'''
# 运用所学python知识，完成一个在线学员信息管理系统
# 数据临时存放在变量列表中
# 实现学生信息的添加，删除和查询操作
# 通过实战案例，锻炼和巩固python基础知识

""" 
学员信息管理系统
1、学员信息数据源
2、查看学员信息功能
3、添加学员信息
4、删除学员信息
5、退出系统
6、界面和交互
"""

# 1、学员信息数据源
stu_list = [
    {'name':'zhangsan','age':20,'classid':'Python01'},
    {'name':'lisi','age':28,'classid':'Python02'},
    {'name':'wangwu','age':66,'classid':'Python03'}
]

# 2、查看学员信息功能
def show_stus_info():
    '''
    @description: 
    @test: test font
    @msg: 
    @parameter: 
    @return: 
    '''    
    if len(stu_list) == 0:
        print('=' * 20, '没有学员信息', '='*20)
        return
    
    print('|{0:<5}|{1:<10}|{2:<5}|{3:<10}|'.format('sid', 'name', 'age', 'classid'))
    # 冒号前面代表索引
    # <代表向左对其
    print('-' * 40)
    for i,stu_dict in enumerate(stu_list):
        print('|{0:<5}|{1:<10}|{2:<5}|{3:<10}|'.format(i+1, stu_dict['name'], stu_dict['age'],stu_dict['classid'] ))
# 测试 2、查看学员信息
# show_stus_info()

# 3、添加学员信息
def add_stu(name, age, classid):
    stu_dict = {}
    stu_dict['name'] = name
    stu_dict['age'] = age
    stu_dict['classid'] = classid
    stu_list.append(stu_dict)

# 测试 3、添加学员信息
# add_stu('yuhang', 55, 'python01')
# show_stus_info()

# 4、删除学员信息
def del_stu(sid):
    sid_int = int(sid)
    stu_list.pop(sid_int - 1)
    
# 测试 4、删除学员信息
# del_stu(3)
# show_stus_info()

# 5、退出系统
def loginout():
    pass

# 6、界面和交互
while True:
    # 输出一个初始界面
    print('=' * 12, '学员管理系统', '=' * 12)
    print('{:1}{:13}{:15}'.format(' ','1.查看学员信息','2.添加学员信息'))
    print('{:1}{:13}{:15}'.format(' ','3.删除学员信息','4.退出系统'))
    print('=' * 40)
    key = input('请输入对应的选择')
    # 根据键盘的输入操作值，执行对应操作
    if key == '1':
        print('='*12,'学员信息浏览','='*12)
        show_stus_info()
        input('按回车继续：')
    elif key=='2':
        print('=' * 12, '添加学员信息', '=' * 12)
        name = input('请输入姓名：')
        age = input('请输入年龄：')
        classid = input('请输入班级：')
        add_stu(name, age, classid)
        show_stus_info()
        input('按回车继续：')
    elif key == '3':
        print('=' * 12, '删除学员信息', '=' * 12)
        show_stus_info()
        sid = input('请输入要删除的学员的sid：')
        del_stu(sid)
        show_stus_info()
        input('按回车继续：')
    elif key == '4':
        loginout()
        print('=' * 12, '再见', '=' * 12)
        break
    else:
        print('=' * 12, '操作无效', '=' * 12)
        input('按回车继续：')
